#!/usr/bin/env bash
set -e

# if we have our linux/amd64 version compiled, let's symlink it in
if [ -x "${DEST}/../binary-daemon/dockerd-${VERSION}" ]; then
	arch=$(go env GOHOSTARCH)
	mkdir -p "$DEST/linux/${arch}"
	(
		cd "${DEST}/linux/${arch}"
		ln -sf ../../../binary-daemon/* ./
	)
	echo "Created symlinks:" "${DEST}/linux/${arch}/"*
fi

DOCKER_CROSSPLATFORMS=${DOCKER_CROSSPLATFORMS:-"linux/amd64 windows/amd64 linux/ppc64le linux/s390x"}

for platform in ${DOCKER_CROSSPLATFORMS}; do
	(
		export KEEPDEST=1
		export DEST="${DEST}/${platform}" # bundles/VERSION/cross/GOOS/GOARCH/docker-VERSION
		export GOOS=${platform%%/*}
		export GOARCH=${platform#*/}

		if [[ "${GOARCH}" = "arm/"* ]]; then
			GOARM=${GOARCH##*/v}
			GOARCH=${GOARCH%/v*}
			export GOARM
		fi

		echo "Cross building: ${DEST}"
		mkdir -p "${DEST}"
		ABS_DEST="$(cd "${DEST}" && pwd -P)"
		source "${MAKEDIR}/binary"

		source "${MAKEDIR}/cross-platform-dependent"
	)
done
